home *** CD-ROM | disk | FTP | other *** search
/ Oh!X 2000 Spring / Oh!X 2000 Spring Special CD-ROM (Japan) (Part 2).7z / Oh!X 2000 Spring Special CD-ROM (Japan) (Part 2).bin / DXF / include / dmerror.h < prev    next >
C/C++ Source or Header  |  1999-08-05  |  20KB  |  636 lines

  1. /************************************************************************
  2. *                                                                       *
  3. *   dmerror.h -- Error code returned by DirectMusic API's               *
  4. *                                                                       *
  5. *   Copyright (c) 1998, Microsoft Corp. All rights reserved.            *
  6. *                                                                       *
  7. ************************************************************************/
  8.  
  9. #ifndef _DMERROR_
  10. #define _DMERROR_
  11.  
  12. #define FACILITY_DIRECTMUSIC      0x878       /* Shared with DirectSound */
  13. #define DMUS_ERRBASE              0x1000      /* Make error codes human readable in hex */
  14.  
  15. #ifndef MAKE_HRESULT
  16. #define MAKE_HRESULT(sev,fac,code) \
  17.     ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
  18. #endif
  19.     
  20. #define MAKE_DMHRESULTSUCCESS(code)     MAKE_HRESULT(0, FACILITY_DIRECTMUSIC, (DMUS_ERRBASE + (code)))
  21. #define MAKE_DMHRESULTERROR(code)       MAKE_HRESULT(1, FACILITY_DIRECTMUSIC, (DMUS_ERRBASE + (code)))
  22.  
  23. /* DMUS_S_PARTIALLOAD
  24.  *
  25.  * The object could only load partially. This can happen if some components are
  26.  * not registered properly, such as embedded tracks and tools.
  27.  */
  28. #define DMUS_S_PARTIALLOAD              MAKE_DMHRESULTSUCCESS(0x091)
  29.  
  30. /* DMUS_S_PARTIALDOWNLOAD
  31.  *
  32.  * This code indicates that a band download was only successful in reaching
  33.  * some, but not all, of the referenced ports. Some samples may not play
  34.  * correctly.
  35.  */
  36. #define DMUS_S_PARTIALDOWNLOAD          MAKE_DMHRESULTSUCCESS(0x092)
  37.  
  38. /* DMUS_S_REQUEUE
  39.  *
  40.  * Return value from IDirectMusicTool::ProcessPMsg() which indicates to the
  41.  * performance that it should cue the PMsg again automatically.
  42.  */
  43.  
  44. #define DMUS_S_REQUEUE                  MAKE_DMHRESULTSUCCESS(0x200)
  45.  
  46. /* DMUS_S_FREE
  47.  *
  48.  * Return value from IDirectMusicTool::ProcessPMsg() which indicates to the
  49.  * performance that it should free the PMsg automatically.
  50.  */
  51. #define DMUS_S_FREE                     MAKE_DMHRESULTSUCCESS(0x201)
  52.  
  53. /* DMUS_S_END
  54.  *
  55.  * Return value from IDirectMusicTrack::Play() which indicates to the
  56.  * segment that the track has no more data after mtEnd.
  57.  */
  58. #define DMUS_S_END                      MAKE_DMHRESULTSUCCESS(0x202)
  59.  
  60. /* DMUS_S_STRING_TRUNCATED
  61.  *
  62.  * Returned string has been truncated to fit the buffer size.
  63.  */
  64. #define DMUS_S_STRING_TRUNCATED         MAKE_DMHRESULTSUCCESS(0x210)
  65.  
  66. /* DMUS_S_LAST_TOOL
  67.  *
  68.  * Returned from IDirectMusicGraph::StampPMsg(), this indicates that the PMsg
  69.  * is already stamped with the last tool in the graph. The returned PMsg's
  70.  * tool pointer is now NULL.
  71.  */
  72. #define DMUS_S_LAST_TOOL                MAKE_DMHRESULTSUCCESS(0x211)
  73.  
  74. /* DMUS_S_OVER_CHORD
  75.  *
  76.  * Returned from IDirectMusicPerformance::MusicToMIDI(), this indicates 
  77.  * that no note has been calculated because the music value has the note 
  78.  * at a position higher than the top note of the chord. This applies only
  79.  * to DMUS_PLAYMODE_NORMALCHORD play mode. This success code indicates
  80.  * that the caller should not do anything with the note. It is not meant
  81.  * to be played against this chord.
  82.  */
  83. #define DMUS_S_OVER_CHORD               MAKE_DMHRESULTSUCCESS(0x212)
  84.  
  85. /* DMUS_S_UP_OCTAVE
  86.  *
  87.  * Returned from IDirectMusicPerformance::MIDIToMusic(),  and
  88.  * IDirectMusicPerformance::MusicToMIDI(), this indicates 
  89.  * that the note conversion generated a note value that is below 0, 
  90.  * so it has been bumped up one or more octaves to be in the proper
  91.  * MIDI range of 0 through 127. 
  92.  * Note that this is valid for MIDIToMusic() when using play modes
  93.  * DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of
  94.  * which store MIDI values in wMusicValue. With MusicToMIDI(), it is
  95.  * valid for all play modes.
  96.  * Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.
  97.  */
  98. #define DMUS_S_UP_OCTAVE                MAKE_DMHRESULTSUCCESS(0x213)
  99.  
  100. /* DMUS_S_DOWN_OCTAVE
  101.  *
  102.  * Returned from IDirectMusicPerformance::MIDIToMusic(),  and
  103.  * IDirectMusicPerformance::MusicToMIDI(), this indicates 
  104.  * that the note conversion generated a note value that is above 127, 
  105.  * so it has been bumped down one or more octaves to be in the proper
  106.  * MIDI range of 0 through 127. 
  107.  * Note that this is valid for MIDIToMusic() when using play modes
  108.  * DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of
  109.  * which store MIDI values in wMusicValue. With MusicToMIDI(), it is
  110.  * valid for all play modes.
  111.  * Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.
  112.  */
  113. #define DMUS_S_DOWN_OCTAVE              MAKE_DMHRESULTSUCCESS(0x214)
  114.  
  115. /* DMUS_S_NOBUFFERCONTROL
  116.  *
  117.  * Although the audio output from the port will be routed to the
  118.  * same device as the given DirectSound buffer, buffer controls
  119.  * such as pan and volume will not affect the output.
  120.  *
  121.  */
  122. #define DMUS_S_NOBUFFERCONTROL          MAKE_DMHRESULTSUCCESS(0x215)
  123.  
  124. /* DMUS_E_DRIVER_FAILED
  125.  *
  126.  * An unexpected error was returned from a device driver, indicating
  127.  * possible failure of the driver or hardware.
  128.  */
  129. #define DMUS_E_DRIVER_FAILED            MAKE_DMHRESULTERROR(0x0101)
  130.  
  131. /* DMUS_E_PORTS_OPEN
  132.  *
  133.  * The requested operation cannot be performed while there are 
  134.  * instantiated ports in any process in the system.
  135.  */
  136. #define DMUS_E_PORTS_OPEN               MAKE_DMHRESULTERROR(0x0102)
  137.  
  138. /* DMUS_E_DEVICE_IN_USE
  139.  *
  140.  * The requested device is already in use (possibly by a non-DirectMusic
  141.  * client) and cannot be opened again.
  142.  */
  143. #define DMUS_E_DEVICE_IN_USE            MAKE_DMHRESULTERROR(0x0103)
  144.  
  145. /* DMUS_E_INSUFFICIENTBUFFER
  146.  *
  147.  * Buffer is not large enough for requested operation.
  148.  */
  149. #define DMUS_E_INSUFFICIENTBUFFER       MAKE_DMHRESULTERROR(0x0104)
  150.  
  151. /* DMUS_E_BUFFERNOTSET
  152.  *
  153.  * No buffer was prepared for the download data.
  154.  */
  155. #define DMUS_E_BUFFERNOTSET             MAKE_DMHRESULTERROR(0x0105)
  156.  
  157. /* DMUS_E_BUFFERNOTAVAILABLE
  158.  *
  159.  * Download failed due to inability to access or create download buffer.
  160.  */
  161. #define DMUS_E_BUFFERNOTAVAILABLE       MAKE_DMHRESULTERROR(0x0106)
  162.  
  163. /* DMUS_E_NOTADLSCOL
  164.  *
  165.  * Error parsing DLS collection. File is corrupt.
  166.  */
  167. #define DMUS_E_NOTADLSCOL               MAKE_DMHRESULTERROR(0x0108)
  168.  
  169. /* DMUS_E_INVALIDOFFSET
  170.  *
  171.  * Wave chunks in DLS collection file are at incorrect offsets.
  172.  */
  173. #define DMUS_E_INVALIDOFFSET            MAKE_DMHRESULTERROR(0x0109)
  174.  
  175. /* DMUS_E_ALREADY_LOADED
  176.  *
  177.  * Second attempt to load a DLS collection that is currently open. 
  178.  */
  179. #define DMUS_E_ALREADY_LOADED           MAKE_DMHRESULTERROR(0x0111)
  180.  
  181. /* DMUS_E_INVALIDPOS
  182.  *
  183.  * Error reading wave data from DLS collection. Indicates bad file.
  184.  */
  185. #define DMUS_E_INVALIDPOS               MAKE_DMHRESULTERROR(0x0113)
  186.  
  187. /* DMUS_E_INVALIDPATCH
  188.  *
  189.  * There is no instrument in the collection that matches patch number.
  190.  */
  191. #define DMUS_E_INVALIDPATCH             MAKE_DMHRESULTERROR(0x0114)
  192.  
  193. /* DMUS_E_CANNOTSEEK
  194.  *
  195.  * The IStream* doesn't support Seek().
  196.  */
  197. #define DMUS_E_CANNOTSEEK               MAKE_DMHRESULTERROR(0x0115)
  198.  
  199. /* DMUS_E_CANNOTWRITE
  200.  *
  201.  * The IStream* doesn't support Write().
  202.  */
  203. #define DMUS_E_CANNOTWRITE              MAKE_DMHRESULTERROR(0x0116)
  204.  
  205. /* DMUS_E_CHUNKNOTFOUND
  206.  *
  207.  * The RIFF parser doesn't contain a required chunk while parsing file.
  208.  */
  209. #define DMUS_E_CHUNKNOTFOUND            MAKE_DMHRESULTERROR(0x0117)
  210.  
  211. /* DMUS_E_INVALID_DOWNLOADID
  212.  *
  213.  * Invalid download id was used in the process of creating a download buffer.
  214.  */
  215. #define DMUS_E_INVALID_DOWNLOADID       MAKE_DMHRESULTERROR(0x0119)
  216.  
  217. /* DMUS_E_NOT_DOWNLOADED_TO_PORT
  218.  *
  219.  * Tried to unload an object that was not downloaded or previously unloaded.
  220.  */
  221. #define DMUS_E_NOT_DOWNLOADED_TO_PORT   MAKE_DMHRESULTERROR(0x0120)
  222.  
  223. /* DMUS_E_ALREADY_DOWNLOADED
  224.  *
  225.  * Buffer was already downloaded to synth.
  226.  */
  227. #define DMUS_E_ALREADY_DOWNLOADED       MAKE_DMHRESULTERROR(0x0121)
  228.  
  229. /* DMUS_E_UNKNOWN_PROPERTY
  230.  *
  231.  * The specified property item was not recognized by the target object.
  232.  */
  233. #define DMUS_E_UNKNOWN_PROPERTY         MAKE_DMHRESULTERROR(0x0122)
  234.  
  235. /* DMUS_E_SET_UNSUPPORTED
  236.  *
  237.  * The specified property item may not be set on the target object.
  238.  */
  239. #define DMUS_E_SET_UNSUPPORTED          MAKE_DMHRESULTERROR(0x0123)
  240.  
  241. /* DMUS_E_GET_UNSUPPORTED
  242.  *
  243.  * The specified property item may not be retrieved from the target object.
  244.  */ 
  245. #define DMUS_E_GET_UNSUPPORTED          MAKE_DMHRESULTERROR(0x0124)
  246.  
  247. /* DMUS_E_NOTMONO
  248.  *
  249.  * Wave chunk has more than one interleaved channel. DLS format requires MONO.
  250.  */
  251. #define DMUS_E_NOTMONO                  MAKE_DMHRESULTERROR(0x0125)
  252.  
  253. /* DMUS_E_BADARTICULATION
  254.  *
  255.  * Invalid articulation chunk in DLS collection.
  256.  */
  257. #define DMUS_E_BADARTICULATION          MAKE_DMHRESULTERROR(0x0126)
  258.  
  259. /* DMUS_E_BADINSTRUMENT
  260.  *
  261.  * Invalid instrument chunk in DLS collection.
  262.  */
  263. #define DMUS_E_BADINSTRUMENT            MAKE_DMHRESULTERROR(0x0127)
  264.  
  265. /* DMUS_E_BADWAVELINK
  266.  *
  267.  * Wavelink chunk in DLS collection points to invalid wave.
  268.  */
  269. #define DMUS_E_BADWAVELINK              MAKE_DMHRESULTERROR(0x0128)
  270.  
  271. /* DMUS_E_NOARTICULATION
  272.  *
  273.  * Articulation missing from instrument in DLS collection.
  274.  */
  275. #define DMUS_E_NOARTICULATION           MAKE_DMHRESULTERROR(0x0129)
  276.  
  277. /* DMUS_E_NOTPCM
  278.  *
  279.  * Downoaded DLS wave is not in PCM format. 
  280. */
  281. #define DMUS_E_NOTPCM                   MAKE_DMHRESULTERROR(0x012A)
  282.  
  283. /* DMUS_E_BADWAVE
  284.  *
  285.  * Bad wave chunk in DLS collection
  286.  */
  287. #define DMUS_E_BADWAVE                  MAKE_DMHRESULTERROR(0x012B)
  288.  
  289. /* DMUS_E_BADOFFSETTABLE
  290.  *
  291.  * Offset Table for download buffer has errors. 
  292.  */
  293. #define DMUS_E_BADOFFSETTABLE           MAKE_DMHRESULTERROR(0x012C)
  294.  
  295. /* DMUS_E_UNKNOWNDOWNLOAD
  296.  *
  297.  * Attempted to download unknown data type.
  298.  */
  299. #define DMUS_E_UNKNOWNDOWNLOAD          MAKE_DMHRESULTERROR(0x012D)
  300.  
  301. /* DMUS_E_NOSYNTHSINK
  302.  *
  303.  * The operation could not be completed because no sink was connected to
  304.  * the synthesizer.
  305.  */
  306. #define DMUS_E_NOSYNTHSINK              MAKE_DMHRESULTERROR(0x012E)
  307.  
  308. /* DMUS_E_ALREADYOPEN
  309.  *
  310.  * An attempt was made to open the software synthesizer while it was already 
  311.  * open.
  312.  * ASSERT?
  313.  */
  314. #define DMUS_E_ALREADYOPEN              MAKE_DMHRESULTERROR(0x012F)
  315.  
  316. /* DMUS_E_ALREADYCLOSE
  317.  *
  318.  * An attempt was made to close the software synthesizer while it was already 
  319.  * open.
  320.  * ASSERT?
  321.  */
  322. #define DMUS_E_ALREADYCLOSED            MAKE_DMHRESULTERROR(0x0130)
  323.  
  324. /* DMUS_E_SYNTHNOTCONFIGURED
  325.  *
  326.  * The operation could not be completed because the software synth has not 
  327.  * yet been fully configured.
  328.  * ASSERT?
  329.  */
  330. #define DMUS_E_SYNTHNOTCONFIGURED       MAKE_DMHRESULTERROR(0x0131)
  331.  
  332. /* DMUS_E_SYNTHACTIVE
  333.  *
  334.  * The operation cannot be carried out while the synthesizer is active.
  335.  */
  336. #define DMUS_E_SYNTHACTIVE              MAKE_DMHRESULTERROR(0x0132)
  337.  
  338. /* DMUS_E_CANNOTREAD
  339.  *
  340.  * An error occurred while attempting to read from the IStream* object.
  341.  */
  342. #define DMUS_E_CANNOTREAD               MAKE_DMHRESULTERROR(0x0133)
  343.  
  344. /* DMUS_E_DMUSIC_RELEASED
  345.  *
  346.  * The operation cannot be performed because the final instance of the
  347.  * DirectMusic object was released. Ports cannot be used after final 
  348.  * release of the DirectMusic object.
  349.  */
  350. #define DMUS_E_DMUSIC_RELEASED          MAKE_DMHRESULTERROR(0x0134)
  351.  
  352. /* DMUS_E_BUFFER_EMPTY
  353.  *
  354.  * There was no data in the referenced buffer.
  355.  */
  356. #define DMUS_E_BUFFER_EMPTY             MAKE_DMHRESULTERROR(0x0135)
  357.  
  358. /* DMUS_E_BUFFER_FULL
  359.  *
  360.  * There is insufficient space to insert the given event into the buffer.
  361.  */
  362. #define DMUS_E_BUFFER_FULL              MAKE_DMHRESULTERROR(0x0136)
  363.  
  364. /* DMUS_E_PORT_NOT_CAPTURE
  365.  *
  366.  * The given operation could not be carried out because the port is a
  367.  * capture port.
  368.  */
  369. #define DMUS_E_PORT_NOT_CAPTURE         MAKE_DMHRESULTERROR(0x0137)
  370.  
  371. /* DMUS_E_PORT_NOT_RENDER
  372.  *
  373.  * The given operation could not be carried out because the port is a
  374.  * render port.
  375.  */
  376. #define DMUS_E_PORT_NOT_RENDER          MAKE_DMHRESULTERROR(0x0138)
  377.  
  378. /* DMUS_E_DSOUND_NOT_SET
  379.  *
  380.  * The port could not be created because no DirectSound has been specified.
  381.  * Specify a DirectSound interface via the IDirectMusic::SetDirectSound
  382.  * method; pass NULL to have DirectMusic manage usage of DirectSound.
  383.  */
  384. #define DMUS_E_DSOUND_NOT_SET           MAKE_DMHRESULTERROR(0x0139)
  385.  
  386. /* DMUS_E_ALREADY_ACTIVATED
  387.  *
  388.  * The operation cannot be carried out while the port is active.
  389.  */
  390. #define DMUS_E_ALREADY_ACTIVATED        MAKE_DMHRESULTERROR(0x013A)
  391.  
  392. /* DMUS_E_INVALIDBUFFER
  393.  *
  394.  * Invalid DirectSound buffer was handed to port. 
  395.  */
  396. #define DMUS_E_INVALIDBUFFER            MAKE_DMHRESULTERROR(0x013B)
  397.  
  398. /* DMUS_E_WAVEFORMATNOTSUPPORTED
  399.  *
  400.  * Invalid buffer format was handed to the synth sink.
  401.  */
  402. #define DMUS_E_WAVEFORMATNOTSUPPORTED   MAKE_DMHRESULTERROR(0x013C)
  403.  
  404. /* DMUS_E_SYNTHINACTIVE
  405.  *
  406.  * The operation cannot be carried out while the synthesizer is inactive.
  407.  */
  408. #define DMUS_E_SYNTHINACTIVE            MAKE_DMHRESULTERROR(0x013D)
  409.  
  410. /* DMUS_E_DSOUND_ALREADY_SET
  411.  *
  412.  * IDirectMusic::SetDirectSound has already been called. It may not be
  413.  * changed while in use.
  414.  */
  415. #define DMUS_E_DSOUND_ALREADY_SET       MAKE_DMHRESULTERROR(0x013E)
  416.  
  417. /* DMUS_E_INVALID_EVENT
  418.  *
  419.  * The given event is invalid (either it is not a valid MIDI message
  420.  * or it makes use of running status). The event cannot be packed
  421.  * into the buffer.
  422.  */
  423. #define DMUS_E_INVALID_EVENT            MAKE_DMHRESULTERROR(0x013F)
  424.  
  425. /* DMUS_E_UNSUPPORTED_STREAM
  426.  *
  427.  * The IStream* object does not contain data supported by the loading object.
  428.  */
  429. #define DMUS_E_UNSUPPORTED_STREAM       MAKE_DMHRESULTERROR(0x0150)
  430.  
  431. /* DMUS_E_ALREADY_INITED
  432.  *
  433.  * The object has already been initialized.
  434.  */
  435. #define DMUS_E_ALREADY_INITED           MAKE_DMHRESULTERROR(0x0151)
  436.  
  437. /* DMUS_E_INVALID_BAND
  438.  *
  439.  * The file does not contain a valid band.
  440.  */
  441. #define DMUS_E_INVALID_BAND             MAKE_DMHRESULTERROR(0x0152)
  442.  
  443. /* DMUS_E_TRACK_HDR_NOT_FIRST_CK
  444.  *
  445.  * The IStream* object's data does not have a track header as the first chunk,
  446.  * and therefore can not be read by the segment object.
  447.  */
  448. #define DMUS_E_TRACK_HDR_NOT_FIRST_CK   MAKE_DMHRESULTERROR(0x0155)
  449.  
  450. /* DMUS_E_TOOL_HDR_NOT_FIRST_CK
  451.  *
  452.  * The IStream* object's data does not have a tool header as the first chunk,
  453.  * and therefore can not be read by the graph object.
  454.  */
  455. #define DMUS_E_TOOL_HDR_NOT_FIRST_CK    MAKE_DMHRESULTERROR(0x0156)
  456.  
  457. /* DMUS_E_INVALID_TRACK_HDR
  458.  *
  459.  * The IStream* object's data contains an invalid track header (ckid is 0 and
  460.  * fccType is NULL,) and therefore can not be read by the segment object.
  461.  */
  462. #define DMUS_E_INVALID_TRACK_HDR        MAKE_DMHRESULTERROR(0x0157)
  463.  
  464. /* DMUS_E_INVALID_TOOL_HDR
  465.  *
  466.  * The IStream* object's data contains an invalid tool header (ckid is 0 and
  467.  * fccType is NULL,) and therefore can not be read by the graph object.
  468.  */
  469. #define DMUS_E_INVALID_TOOL_HDR         MAKE_DMHRESULTERROR(0x0158)
  470.  
  471. /* DMUS_E_ALL_TOOLS_FAILED
  472.  *
  473.  * The graph object was unable to load all tools from the IStream* object data.
  474.  * This may be due to errors in the stream, or the tools being incorrectly
  475.  * registered on the client.
  476.  */
  477. #define DMUS_E_ALL_TOOLS_FAILED         MAKE_DMHRESULTERROR(0x0159)
  478.  
  479. /* DMUS_E_ALL_TRACKS_FAILED
  480.  *
  481.  * The segment object was unable to load all tracks from the IStream* object data.
  482.  * This may be due to errors in the stream, or the tracks being incorrectly
  483.  * registered on the client.
  484.  */
  485. #define DMUS_E_ALL_TRACKS_FAILED        MAKE_DMHRESULTERROR(0x0160)
  486.  
  487. /* DMUS_E_NOT_FOUND
  488.  *
  489.  * The requested item was not contained by the object.
  490.  */
  491. #define DMUS_E_NOT_FOUND                MAKE_DMHRESULTERROR(0x0161)
  492.  
  493. /* DMUS_E_NOT_INIT
  494.  *
  495.  * A required object is not initialized or failed to initialize.
  496.  */
  497. #define DMUS_E_NOT_INIT                 MAKE_DMHRESULTERROR(0x0162)
  498.  
  499. /* DMUS_E_TYPE_DISABLED
  500.  *
  501.  * The requested parameter type is currently disabled. Parameter types may
  502.  * be enabled and disabled by certain calls to SetParam().
  503.  */
  504. #define DMUS_E_TYPE_DISABLED            MAKE_DMHRESULTERROR(0x0163)
  505.  
  506. /* DMUS_E_TYPE_UNSUPPORTED
  507.  *
  508.  * The requested parameter type is not supported on the object.
  509.  */
  510. #define DMUS_E_TYPE_UNSUPPORTED         MAKE_DMHRESULTERROR(0x0164)
  511.  
  512. /* DMUS_E_TIME_PAST
  513.  *
  514.  * The time is in the past, and the operation can not succeed.
  515.  */
  516. #define DMUS_E_TIME_PAST                MAKE_DMHRESULTERROR(0x0165)
  517.  
  518. /* DMUS_E_TRACK_NOT_FOUND
  519.  *
  520.  * The requested track is not contained by the segment.
  521.  */
  522. #define DMUS_E_TRACK_NOT_FOUND            MAKE_DMHRESULTERROR(0x0166)
  523.  
  524. /* DMUS_E_NO_MASTER_CLOCK
  525.  *
  526.  * There is no master clock in the performance. Be sure to call
  527.  * IDirectMusicPerformance::Init().
  528.  */
  529. #define DMUS_E_NO_MASTER_CLOCK          MAKE_DMHRESULTERROR(0x0170)
  530.  
  531. /* DMUS_E_LOADER_NOCLASSID
  532.  *
  533.  * The class id field is required and missing in the DMUS_OBJECTDESC.
  534.  */
  535. #define DMUS_E_LOADER_NOCLASSID         MAKE_DMHRESULTERROR(0x0180)
  536.  
  537. /* DMUS_E_LOADER_BADPATH
  538.  *
  539.  * The requested file path is invalid.
  540.  */
  541. #define DMUS_E_LOADER_BADPATH           MAKE_DMHRESULTERROR(0x0181)
  542.  
  543. /* DMUS_E_LOADER_FAILEDOPEN
  544.  *
  545.  * File open failed - either file doesn't exist or is locked.
  546.  */
  547. #define DMUS_E_LOADER_FAILEDOPEN        MAKE_DMHRESULTERROR(0x0182)
  548.  
  549. /* DMUS_E_LOADER_FORMATNOTSUPPORTED
  550.  *
  551.  * Search data type is not supported.
  552.  */
  553. #define DMUS_E_LOADER_FORMATNOTSUPPORTED    MAKE_DMHRESULTERROR(0x0183)
  554.  
  555. /* DMUS_E_LOADER_FAILEDCREATE
  556.  *
  557.  * Unable to find or create object.
  558.  */
  559. #define DMUS_E_LOADER_FAILEDCREATE      MAKE_DMHRESULTERROR(0x0184)
  560.  
  561. /* DMUS_E_LOADER_OBJECTNOTFOUND
  562.  *
  563.  * Object was not found.
  564.  */
  565. #define DMUS_E_LOADER_OBJECTNOTFOUND    MAKE_DMHRESULTERROR(0x0185)
  566.  
  567. /* DMUS_E_LOADER_NOFILENAME
  568.  *
  569.  * The file name is missing from the DMUS_OBJECTDESC.
  570.  */
  571. #define DMUS_E_LOADER_NOFILENAME        MAKE_DMHRESULTERROR(0x0186)
  572.  
  573. /* DMUS_E_INVALIDFILE
  574.  *
  575.  * The file requested is not a valid file.
  576.  */
  577. #define DMUS_E_INVALIDFILE              MAKE_DMHRESULTERROR(0x0200)
  578.  
  579. /* DMUS_E_ALREADY_EXISTS
  580.  *
  581.  * The tool is already contained in the graph. Create a new instance.
  582.  */
  583. #define DMUS_E_ALREADY_EXISTS           MAKE_DMHRESULTERROR(0x0201)
  584.  
  585. /* DMUS_E_OUT_OF_RANGE
  586.  *
  587.  * Value is out of range, for instance the requested length is longer than
  588.  * the segment.
  589.  */
  590. #define DMUS_E_OUT_OF_RANGE             MAKE_DMHRESULTERROR(0x0202)
  591.  
  592. /* DMUS_E_SEGMENT_INIT_FAILED
  593.  *
  594.  * Segment initialization failed, most likely due to a critical memory situation.
  595.  */
  596. #define DMUS_E_SEGMENT_INIT_FAILED      MAKE_DMHRESULTERROR(0x0203)
  597.  
  598. /* DMUS_E_ALREADY_SENT
  599.  *
  600.  * The DMUS_PMSG has already been sent to the performance object via
  601.  * IDirectMusicPerformance::SendPMsg().
  602.  */
  603. #define DMUS_E_ALREADY_SENT             MAKE_DMHRESULTERROR(0x0204)
  604.  
  605. /* DMUS_E_CANNOT_FREE
  606.  *
  607.  * The DMUS_PMSG was either not allocated by the performance via
  608.  * IDirectMusicPerformance::AllocPMsg(), or it was already freed via
  609.  * IDirectMusicPerformance::FreePMsg().
  610.  */
  611. #define DMUS_E_CANNOT_FREE              MAKE_DMHRESULTERROR(0x0205)
  612.  
  613. /* DMUS_E_CANNOT_OPEN_PORT
  614.  *
  615.  * The default system port could not be opened.
  616.  */
  617. #define DMUS_E_CANNOT_OPEN_PORT         MAKE_DMHRESULTERROR(0x0206)
  618.  
  619. /* DMUS_E_CONNOT_CONVERT
  620.  *
  621.  * A call to MIDIToMusic() or MusicToMIDI() resulted in an error because
  622.  * the requested conversion could not happen. This usually occurs when the
  623.  * provided DMUS_CHORD_KEY structure has an invalid chord or scale pattern.
  624.  */
  625. #define DMUS_E_CONNOT_CONVERT           MAKE_DMHRESULTERROR(0x0207)
  626.  
  627. /* DMUS_E_DESCEND_CHUNK_FAIL
  628.  * 
  629.  * DMUS_E_DESCEND_CHUNK_FAIL is returned when the end of the file 
  630.  * was reached before the desired chunk was found.
  631.  */
  632. #define DMUS_E_DESCEND_CHUNK_FAIL       MAKE_DMHRESULTERROR(0x0210)
  633.  
  634. #endif
  635.  
  636.